package cn.hou.java.designpattern._19status;

public class Person {
	private int time;//什么时间,做什么事
	//引用状态
	private Status status;
	public Person() {
		//初始化状态
		this.status =new MStatus();
	}
	public void eat(){
		//根据时间不同做不同事交给状态类判断
		//将对象传递给状态类,以便状态类根据状态判断
		status.eat(this);
		//处理完之后重新初始化,避免状态设置到最后一次,无法再进行判断
		//因为状态类是根据顺序一个一个传递,到最后一个时不再传递,所以要重新初始化到第一个
		status =new MStatus();
	}
	public int getTime() {
		return time;
	}

	public void setTime(int time) {
		this.time = time;
	}

	public Status getStatus() {
		return status;
	}

	public void setStatus(Status status) {
		this.status = status;
	}
}
